﻿using System;
using System.Collections.Generic;
using System.Text;

namespace HlElock.Api.Models
{
        /// <summary>
        /// 表示用于查询 PMS 系统中房间信息的请求参数。
        /// </summary>
        public class QueryRoomRequest
        {
            /// <summary>
            /// 获取或设置房间所在的楼栋标识。
            /// 对应 API 中的 'build' 字段。
            /// </summary>
            public string Build { get; set; }

            /// <summary>
            /// 获取或设置房间所在的楼层（例如 "A"）。
            /// 对应 API 中的 'floor' 字段。
            /// </summary>
            public string Floor { get; set; }

            /// <summary>
            /// 获取或设置要查询的房间的唯一标识符。
            /// 对应 API 中的 'roomid' 字段。
            /// </summary>
            public string RoomId { get; set; }

            /// <summary>
            /// 获取或设置与房间关联的项目代码。
            /// 对应 API 中的 'prjcode' 字段。
            /// </summary>
            public string PrjCode { get; set; }

            /// <summary>
            /// 获取或设置执行查询操作的操作员 ID。
            /// 根据 curl 命令，此字段可以为空。
            /// 对应 API 中的 'operid' 字段。
            /// </summary>
            public string OperId { get; set; }

            /// <summary>
            /// 获取或设置操作的日期。
            /// 此字段在查询上下文中的具体用途尚不明确，
            /// 但根据 curl 命令，它是调用接口所必需的。
            /// 对应 API 中的 'tjdate' 字段。
            /// </summary>
            public string TjDate { get; set; }

            /// <summary>
            /// 初始化 <see cref="QueryRoomRequest"/> 类的新实例。
            /// </summary>
            public QueryRoomRequest() { }

            /// <summary>
            /// 使用指定的值初始化 <see cref="QueryRoomRequest"/> 类的新实例。
            /// </summary>
            /// <param name="build">楼栋标识。</param>
            /// <param name="floor">楼层位置。</param>
            /// <param name="roomId">房间的唯一标识符。</param>
            /// <param name="prjCode">项目代码。</param>
            /// <param name="operId">操作员 ID（可以为空）。</param>
            /// <param name="tjDate">操作日期。</param>
            public QueryRoomRequest(string build, string floor, string roomId, string prjCode, string operId, string tjDate)
            {
                Build = build;
                Floor = floor;
                RoomId = roomId;
                PrjCode = prjCode;
                OperId = operId;
                TjDate = tjDate;
            }
        }
    }

